使用过Cortex-M处理器或STM32的读者对J-Link、ST-Link应该不陌生,都知道它们是下载调试器。
除了J-Link、ST-Link常见的调试器,市面上还有一种常见CMSIS-DAP Debugger,在Keil或IAR选择调试器的时候,会有一些调试器选项。
折腾过市面上调试器的读者应该发现一个问题,有一些不同的调试器,在Keil选择调试器都选择CMSIS-DAP Debugger,比如:E-Link、 GD-Link等。
那么,问题来了,CMSIS-DAP是什么?和J-Link、ST-Link有关系吗?
CMSIS:Cortex Microcontroller Software Interface Standard,即Cortex微控制器软件接口标准。DAP:Debug Access Port,调试访问端口。
CMSIS-DAP支持各种Cortex处理器CoreSight调试和跟踪。
CMSIS-DAP为调试器提供标准化的接口,支持5线JTAG或2线SWD,其固件作为源代码提供。
CMSIS-DAP更多信息参考地址:
https://arm-software.github.io/CMSIS_5/DAP/html/index.htmlhttp://www.keil.com/support/man/docs/dapdebug/dapdebug_introduction.htm
上面说了CMSIS-DAP固件有Arm以源码形式提供,不存在版权问题(因为针对Arm Cortex处理器,他们还希望更多人使用)。版本1配置使用USB HID作为与主机PC的接口。版本2配置使用WinUSB作为与主机PC的接口,并提供高速SWO跟踪流。目前源码提供在Keil MDK V5版本,安装好Keil MDK,你在安装目录下就能找到源码。
C:\Keil_v5\ARM\Packs\ARM\CMSIS\5.7.0\CMSIS\DAP\Firmware(目前MDK V5.33,CMSIS版本为5.7.0)
3.源码描述
从文件目录可以看出,官方源码提供了一些模板和例子。
目前只提供了LPC处理器的例子,如果你有这个处理器对应的板卡,可以直接使用该源码做一个调试器。
通过上面的介绍,你应该发现了CMSIS-DAP就是一套针对Cortex处理器的标准调试接口(协议),开发者可以在其基础上开发一套调试器,只需要遵从这套协议即可。因此,你们看到的一些调试器,其实就是应用了这套标准的协议。在J-Link、ST-Link里面使用的协议也不列外。感兴趣的朋友,可以花时间研究,并自制一个CMSIS-DAP调试器,如果你懂原理,我觉得你自己编写一套ST-Link源码都不是问题。文章来源:
微信公众号 | 嵌入式专栏
作者 | strongerHuang
推荐阅读
▼
滤波电容越大越好吗?
MOS管和IGBT管有什么区别?别傻傻分不清了
电子男女才懂的爱情故事-模电与爱情
收藏:8个开关电源layout经验!
小小的光耦,满满的干货!
苹果iPhone 12/Pro拆解,关键芯片零部件曝光
油管上点赞超多的MOSFET视频
开关电源损耗的原因找到了!收藏文章立刻排查!
总线分类到底有多少?为啥电子工程师常常弄混?
聊聊|关于工作生活...
03.运放参数---输入阻抗和输入电容
02.输入失调电压(Input Offset Voltage)
长按关注微信公众号『8号线攻城狮』,获取更多精彩内容。
请戳右下角,给我一点在看!